/**
 * @Author: colpu
 * @Date: 2025-03-29 19:38:16
 * @LastEditors: colpu ycg520520@qq.com
 * @LastEditTime: 2025-10-17 09:06:28
 * @
 * @Copyright (c) 2025 by colpu, All Rights Reserved.
 */
/**
 * Context is a base class that can be extended,
 * it's instantiated in context level,
 * {@link Helper}, {@link Service} is extending it.
 */
export default class Context {
  /**
   * @class
   * @param {Context} ctx - context instance
   * @since 1.0.0
   */
  constructor(ctx) {
    /**
     * @member {Context} Context#ctx
     * @since 1.0.0
     */
    this.ctx = ctx;

    /**
     * @member {Application} Context#app
     * @since 1.0.0
     */
    this.app = ctx.app;

    /**
     * @member {Config} Context#config
     * @since 1.0.0
     */
    this.config = ctx.app.config;

    /**
     * @member {Service} Context#service
     * @since 1.0.0
     */
    this.service = ctx.service;
  }
}
